#ifndef TORTUGA_H_
#define TORTUGA_H_

#include "../ObjetoMovible.h"
#include "../Personajes/Personaje.h"

class EstadoTortuga {
	
	public:

	static const int Aplastando;
	static const int Volteada;
	static const int Escapando;
	static const int Muriendo;
	static const int SinParticular;
	
	static const vector<int> acciones;
	static const vector<int> accionesParticulares;
	static const vector<string> descripcionAcciones;
	static const vector<string> descripcionAccionesParticulares;
	
};

class Tortuga : public ObjetoMovible {
	
	vector<Animacion*> accionesParticulares;
	int estadoParticular;

	static const int PUNTOS_SUMAR = 200;
	static const int PUNTOS_RESTAR = 80;
	
	public:
		Tortuga(int x, int y, int maximoX, int maximoY, Orientacion orientacion);
		virtual void Actualizar(Uint32 time);
		virtual int indexEstado(int estado);
		int getEstadoParticular();
		void setEstadoParticular(int estado);
		virtual void Morir();
		
		void addAccionParticular(int idImagen, int cuadros);
		void SepararCaparazon();
		
		void EscaparDerecha();
		void EscaparIzquierda();
		void FrenarEscape();
		
		virtual pair<idImagen_t, int> getDibujable(Uint32 time);

		void ColisionarConPersonaje(ObjetoEstatico* personaje, int colX, int colY, int colXvieja = NULL, int colYvieja = NULL);
		virtual void ColisionarConEnemigo(ObjetoEstatico* movible, int colX, int colY, int colXvieja = NULL, int colYvieja = NULL);
};

#endif /* TORTUGA_H_ */
